package com.ruoyi.mdm.mapper;

import java.util.List;

import com.ruoyi.mdm.domain.MaterialCategory;
import org.apache.ibatis.annotations.Param;

/**
 * 物料类别Mapper接口
 *
 * @author ruoyi
 * @date 2024-03-27
 */
public interface MaterialCategoryMapper {
	/**
	 * 查询物料类别
	 *
	 * @param tableId 物料类别主键
	 * @return 物料类别
	 */
	public MaterialCategory selectMaterialCategoryByTableId(Long tableId);

	/**
	 * 查询物料类别列表
	 *
	 * @param materialCategory 物料类别
	 * @return 物料类别集合
	 */
	public List<MaterialCategory> selectMaterialCategoryList(MaterialCategory materialCategory);

	/**
	 * 新增物料类别
	 *
	 * @param materialCategory 物料类别
	 * @return 结果
	 */
	public int insertMaterialCategory(MaterialCategory materialCategory);

	/**
	 * 修改物料类别
	 *
	 * @param materialCategory 物料类别
	 * @return 结果
	 */
	public int updateMaterialCategory(MaterialCategory materialCategory);

	/**
	 * 删除物料类别
	 *
	 * @param tableId 物料类别主键
	 * @return 结果
	 */
	public int deleteMaterialCategoryByTableId(Long tableId);

	/**
	 * 批量删除物料类别
	 *
	 * @param tableIds 需要删除的数据主键集合
	 * @return 结果
	 */
	public int deleteMaterialCategoryByTableIds(Long[] tableIds);

	/**
	 * 查找材料类别的层次结构祖先
	 *
	 * @return 列表＜材料类别＞
	 */
	List<MaterialCategory> findItemHierarchyAncestor(@Param("parentId") Long parentId);
}
